package collection;

import java.util.ArrayList;
import java.util.List;

/**
 * List结合提供了获取子集的操作
 * 对子集的操作就是对原集合的操作
 */
public class ListDemo3 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        //
        for(Integer i = 0; i < 10; i++){
            list.add(i);
        }
        System.out.println("原集合为:" + list);
        /*
        list.sunList(int fromIndex, int toIndex)
        获取子集, 包含fromIndex, 不包含toIndex  含头不含尾
         */
        List<Integer> subList = list.subList(2, 6);
        System.out.println("子集为:"+ subList);

        // 需求，将截取的子集，每个元素扩大到原来的10倍
        for(int i =0 ;i<subList.size();i++){
            // 使用get去获取元素
            Integer a = subList.get(i);
            a = a*10;
            // 扩大10倍之后使用set去设置元素
            subList.set(i,a);
        }
        System.out.println("原集合为:" + list);
        System.out.println("子集扩大10倍后为:"+ subList);

        // 使用强循环实现
        for(Integer a:subList){
            int index = subList.indexOf(a);
            a /=10;
            subList.set(index,a);
        }
        System.out.println("原集合为:" + list);
        System.out.println("子集缩减了10倍后为:"+ subList);

        System.out.println(list.size());
        // 需求，删除2-8的元素
        for(int i = 2;i<=8;i++){
//            System.out.println(list.size());
//            System.out.println(i);
            list.remove(2);
        }
        // 方法2
        // list.subList(2,9).clear();


        System.out.println("删除2-8的元素后:" + list);
    }
}
